home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Event;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Vector;
-
- public final class ET_FadeText extends Applet implements Runnable {
- Image offScreenImage;
- Dimension offScreenSize;
- Graphics offScreenGraphics;
- static final int SLEEPTIME = 50;
- private Thread kicker;
- static final boolean REG_VERSION = false;
- // $FF: renamed from: RT java.lang.String
- static final String field_0 = "(This applet is not for commercial use. Visit http://www.entanke.se/ for information and more applets.)";
- static final String APPLETINFO = "ET FadeText v1.1. Visit http://www.entanke.se/ for information and more applets.";
- static final String DEF_TEXT = "No TEXT parameter given.";
- static final int DEF_FROMCOLOR = 16777215;
- static final int DEF_TOCOLOR = 0;
- static final int DEF_BGCOLOR = 16777215;
- static final int DEF_STARTDELAY = 0;
- static final int DEF_FADETIME = 500;
- static final String DEF_FONTNAME = "TimesRoman";
- static final int DEF_FONTSIZE = 13;
- static final int DEF_FONTSTYLE = 0;
- static final URL DEF_URL = null;
- static final String DEF_TARGETFRAME = "_self";
- static final String DEF_ALT = null;
- static final String DEF_REPEAT = "true";
- Vector parText = new Vector();
- Vector parFromColor = new Vector();
- Vector parToColor = new Vector();
- Vector parStartDelay = new Vector();
- Vector parFadeTime = new Vector();
- Vector parFont = new Vector();
- Vector parColors = new Vector();
- Integer parBGColor;
- URL parURL;
- String parTargetFrame;
- String parALT;
- boolean parRepeat;
- String status = "";
-
- public void init() {
- Dimension var1 = ((Component)this).size();
- if (this.offScreenImage == null) {
- this.offScreenImage = ((Component)this).createImage(var1.width, var1.height);
- this.offScreenSize = var1;
- this.offScreenGraphics = this.offScreenImage.getGraphics();
- }
-
- this.parURL = this.getURLParameter("URL", (URL)null);
- this.parTargetFrame = this.getStringParameter("TargetFrame", "_self");
- this.parALT = this.getStringParameter("ALT", (String)null);
- this.parRepeat = Boolean.valueOf(this.getStringParameter("Repeat", "true"));
- boolean var2 = true;
-
- for(int var3 = 1; var2; ++var3) {
- if (var3 == 1) {
- this.parText.addElement(this.getStringParameter("Text1", "No TEXT parameter given."));
- this.parFromColor.addElement(this.getIntegerParameter("FromColor1", new Integer(16777215), 16));
- this.parToColor.addElement(this.getIntegerParameter("ToColor1", new Integer(0), 16));
- this.parStartDelay.addElement(this.getIntegerParameter("StartDelay1", new Integer(0), 10));
- this.parFadeTime.addElement(this.getIntegerParameter("FadeTime1", new Integer(500), 10));
- this.parFont.addElement(this.getFontParameter("FontName1", "FontStyle1", "FontSize1", new Font("TimesRoman", 0, 13)));
- } else {
- String var4 = "ToColor" + var3;
- if (this.getIntegerParameter(var4, new Integer(-1), 16) != -1) {
- this.parText.addElement(this.getStringParameter("Text" + var3, (String)this.parText.elementAt(var3 - 2)));
- this.parFromColor.addElement(this.getIntegerParameter("FromColor" + var3, (Integer)this.parToColor.elementAt(var3 - 2), 16));
- this.parToColor.addElement(this.getIntegerParameter("ToColor" + var3, (Integer)this.parFromColor.elementAt(var3 - 2), 16));
- this.parStartDelay.addElement(this.getIntegerParameter("StartDelay" + var3, (Integer)this.parStartDelay.elementAt(var3 - 2), 10));
- this.parFadeTime.addElement(this.getIntegerParameter("FadeTime" + var3, (Integer)this.parFadeTime.elementAt(var3 - 2), 10));
- this.parFont.addElement(this.getFontParameter("FontName" + var3, "FontStyle" + var3, "FontSize" + var3, (Font)this.parFont.elementAt(var3 - 2)));
- } else {
- var2 = false;
- }
- }
- }
-
- int var5 = (Integer)this.parFromColor.elementAt(0);
- this.parBGColor = this.getIntegerParameter("BGColor", new Integer(var5), 16);
- if (this.parALT != null) {
- this.status = this.parALT;
- }
-
- this.status = this.status + " " + "(This applet is not for commercial use. Visit http://www.entanke.se/ for information and more applets.)";
- }
-
- private Integer getIntegerParameter(String var1, int var2, int var3) {
- return this.getIntegerParameter(var1, new Integer(var2), var3);
- }
-
- private Integer getIntegerParameter(String var1, Integer var2, int var3) {
- String var4 = ((Applet)this).getParameter(var1);
-
- try {
- Integer var5 = new Integer(Integer.parseInt(var4, var3));
- return var5;
- } catch (NumberFormatException var6) {
- return var2;
- }
- }
-
- private String getStringParameter(String var1, String var2) {
- String var3 = ((Applet)this).getParameter(var1);
- return var3 == null ? var2 : var3;
- }
-
- private URL getURLParameter(String var1, URL var2) {
- String var3 = this.getStringParameter(var1, (String)null);
-
- try {
- URL var4 = new URL(((Applet)this).getDocumentBase(), var3);
- return var4;
- } catch (MalformedURLException var5) {
- return var2;
- }
- }
-
- private Font getFontParameter(String var1, String var2, String var3, Font var4) {
- String var5 = this.getStringParameter(var1, var4.getName());
- String var6 = this.getStringParameter(var2, "");
- int var7 = var4.getSize();
- var7 = this.getIntegerParameter(var3, new Integer(var7), 10);
- int var8 = var4.getStyle();
- if (var6.equalsIgnoreCase("Plain")) {
- var8 = 0;
- }
-
- if (var6.equalsIgnoreCase("Bold")) {
- var8 = 1;
- }
-
- if (var6.equalsIgnoreCase("Italic")) {
- var8 = 2;
- }
-
- if (var6.equalsIgnoreCase("BoldItalic")) {
- var8 = 3;
- }
-
- return new Font(var5, var8, var7);
- }
-
- public String getAppletInfo() {
- return "ET FadeText v1.1. Visit http://www.entanke.se/ for information and more applets.";
- }
-
- public void start() {
- if (this.kicker == null) {
- this.kicker = new Thread(this);
- this.kicker.start();
- }
-
- ((Applet)this).showStatus("ET FadeText v1.1. Visit http://www.entanke.se/ for information and more applets.");
- }
-
- public void stop() {
- if (this.kicker != null && this.kicker.isAlive()) {
- this.kicker.stop();
- }
-
- this.kicker = null;
- }
-
- public void destroy() {
- this.kicker = null;
- }
-
- public final void update(Graphics var1) {
- var1.drawImage(this.offScreenImage, 0, 0, this);
- }
-
- public final void paint(Graphics var1) {
- var1.drawImage(this.offScreenImage, 0, 0, this);
- }
-
- public boolean handleEvent(Event var1) {
- switch (var1.id) {
- case 502:
- if (this.parURL != null) {
- ((Applet)this).getAppletContext().showDocument(this.parURL, this.parTargetFrame);
- }
-
- return true;
- case 503:
- default:
- return super.handleEvent(var1);
- case 504:
- ((Applet)this).showStatus(this.status);
- return true;
- case 505:
- ((Applet)this).showStatus("");
- return true;
- }
- }
-
- public void run() {
- this.offScreenGraphics.setColor(new Color(this.parBGColor));
- this.offScreenGraphics.fillRect(0, 0, this.offScreenSize.width, this.offScreenSize.height);
- Graphics var2 = ((Component)this).getGraphics();
- var2.drawImage(this.offScreenImage, 0, 0, this);
-
- do {
- for(int var5 = 0; var5 < this.parText.size(); ++var5) {
- this.delay((Integer)this.parStartDelay.elementAt(var5));
- if (var5 >= this.parColors.size()) {
- this.parColors.addElement(this.makeColors((Integer)this.parFromColor.elementAt(var5), (Integer)this.parToColor.elementAt(var5), (Integer)this.parFadeTime.elementAt(var5)));
- }
-
- this.offScreenGraphics.setFont((Font)this.parFont.elementAt(var5));
- FontMetrics var1 = this.offScreenGraphics.getFontMetrics(this.offScreenGraphics.getFont());
- int var3 = (((Component)this).size().width - var1.stringWidth((String)this.parText.elementAt(var5))) / 2;
- int var4 = (((Component)this).size().height + var1.getHeight() / 2) / 2;
- this.fade((Vector)this.parColors.elementAt(var5), (Integer)this.parFadeTime.elementAt(var5), var3, var4, (String)this.parText.elementAt(var5));
- }
- } while(this.parRepeat);
-
- }
-
- private Vector makeColors(int var1, int var2, int var3) {
- Vector var4 = new Vector();
- int var5 = ((var2 & 16711680) >> 16) - ((var1 & 16711680) >> 16);
- int var6 = ((var2 & '\uff00') >> 8) - ((var1 & '\uff00') >> 8);
- int var7 = (var2 & 255) - (var1 & 255);
- int var8 = (var1 & 16711680) >> 16;
- int var9 = (var1 & '\uff00') >> 8;
- int var10 = var1 & 255;
-
- for(int var11 = 0; var11 < var3 + 50; var11 += 50) {
- var4.addElement(new Color(var8 + var5 * var11 / var3, var9 + var6 * var11 / var3, var10 + var7 * var11 / var3));
- }
-
- return var4;
- }
-
- private void fade(Vector var1, int var2, int var3, int var4, String var5) {
- for(int var6 = 0; var6 < var2 + 50; var6 += 50) {
- this.offScreenGraphics.setColor(new Color(this.parBGColor));
- this.offScreenGraphics.fillRect(0, 0, this.offScreenSize.width, this.offScreenSize.height);
- this.offScreenGraphics.setColor((Color)var1.elementAt(var6 / 50));
- this.offScreenGraphics.drawString(var5, var3, var4);
- Graphics var7 = ((Component)this).getGraphics();
- var7.drawImage(this.offScreenImage, 0, 0, this);
- this.delay(50);
- }
-
- }
-
- private void delay(int var1) {
- try {
- Thread.sleep((long)var1);
- } catch (InterruptedException var2) {
- }
- }
- }
-